package com.freecloud.javabasics.design.proxy.mybatis.supper;

import java.util.Properties;

/**
 * @Author: maomao
 * @Date: 2021-04-11 18:05
 */
public interface FreeInterceptor {

    Object intercept(FreeInvocation invocation) throws Throwable;

    default Object plugin(Object target) {
        return FreePlugin.wrap(target, this);
    }

    default void setProperties(Properties properties) {
        // NOP
    }
}
